package br.com.paradigmas.modulos.consultas.album;

import java.util.ArrayList;

import br.com.paradigmas.modulos.cadastros.album.CadastroAlbum;
import br.com.paradigmas.modulos.repositorio.repositorio.Repositorio;
import br.com.paradigmas.persistencia.om.Album;
import br.com.paradigmas.persistencia.om.Musica;

public class ConsultaAlbum
{
	/**
	 * Recupera o album a partir do seu nome
	 * @author Djalma
	 * @param nome
	 * @return album
	 */
	public Album getAlbum(String nome)
	{
		try
		{
			ArrayList<Album> albuns = new CadastroAlbum().getAlbuns();
			for (Album album : albuns) 
			{
				if(album.getNome().toLowerCase().contains(nome.toLowerCase()))
				{
					return album;
				}
			}
		}
		catch (Exception e)
		{ e.printStackTrace(); }
		
		System.out.println("Nenhum album encontrado com este nome!");
		return null;
	}
	
	/**
	 * Recupera o album a partir do seu nome
	 * @author Djalma
	 * @param repositorio
	 * @param nome
	 * @return album
	 */
	public Album getAlbum(Repositorio repositorio, String nome)
	{
		try
		{
			for (Album album : repositorio.getAlbuns()) 
			{
				if(album.getNome().toLowerCase().contains(nome.toLowerCase()))
				{
					return album;
				}
			}
		}
		catch (Exception e)
		{ e.printStackTrace(); }
		
		System.out.println("Nenhum album encontrado com este nome!");
		return null;
	}
	
	/**
	 * Localiza uma musica a partir do nome da musica
	 * 
	 * @author Djalma
	 * @param nomeMusica
	 * @return musica || null (caso haja erro)
	 */
	public Musica localizarMusica(String nomeMusica)
	{
		try
		{
			
		}
		catch (Exception e)
		{ e.printStackTrace(); }
		
		return null;
	}
	
	/**
	 * Localiza uma musica a partir do codigo da musica
	 * 
	 * @author Djalma
	 * @param codigoMusica
	 * @return musica || null (caso haja erro)
	 */
	public Musica localizarMusica(int codigoMusica)
	{
		try
		{
			
		}
		catch (Exception e)
		{ e.printStackTrace(); }
		
		return null;
	}
	
	/**
	 * Recupera quantas musicas existem no album
	 * 
	 * @author Djalma
	 * @param album
	 * @return quantidadeMusicas || null (caso haja erro)
	 */
	public Integer contarMusicas(Album album)
	{
		try
		{
			
		}
		catch (Exception e)
		{ e.printStackTrace(); }
		
		return null;
	}
}
